Image processing apparatus and control method thereof

ABSTRACT

An image processing apparatus includes a storage, a receiver configured to receive a transport stream from a source device, and a processor. According to an aspect, the processor is configured to decrypt encrypted content data obtained from the transport stream received by the receiver, generate index information based on the decrypted content data where the index information generated includes at least one reference corresponding to the encrypted content data to be referenced to display an image of the content data, and store the encrypted content data in association with the index information in the storage.

CROSS-REFERENCE TO RELATED THE APPLICATION

This application is based on and claims priority under 35 U.S.C. § 119to Korean Patent Application No. 10-2017-0168644, filed on Dec. 8, 2017in the Korean Intellectual Property Office, the disclosure of which isincorporated by reference herein in its entirety.

BACKGROUND Field

The disclosure relates to an image processing apparatus, which receivescontent data from an external source and processes the content data tobe displayed, and a control method thereof, and more particularly to animage processing apparatus and a control method thereof, which arerelated to technology for storing content data received from an externalsource when the content data is encrypted for security and controllingaccess to content data.

Description of the Related Art

An image processing apparatus comprehensively refers to an apparatusthat applies an image processing process to content data extracted froma transport stream when the transport stream including the content datais received from an external source, thereby making an image based onthe content data to be displayed. The image processing apparatus isbroadly classified into two types according to whether or not it canautonomously display an image. As an example of the image processingapparatus that cannot autonomously display an image, there is a set-topbox. In this case, the image processing apparatus transmits the contentdata to the outside so that the image can be displayed on anotherapparatus. On the other hand, the image processing apparatus capable ofautonomously displaying an image is materialized by a display apparatusincluding a display panel, the most representative example of which is atelevision (TV).

In terms of providing content data to the image processing apparatus, acontent provider establishes a predetermined source device and transmitsa transport stream including the content data from the source device tothe image processing apparatus. In this case, the content data in thetransport stream may be encrypted by reflecting intention or a securitypolicy that the content provider of providing content or a contentcreator of creating content has. Such encryption of content data in atransport stream is to prevent content from leaking out to anunauthorized third party. When the image processing apparatus acquiresencrypted content data from a transport stream received from a sourcedevice, the image processing apparatus decrypts the content data througha previously designated decryption process and decodes the decryptedcontent data to be displayed as an image.

For convenience of a user, the image processing apparatus may support apersonal video recording (PVR) function for storing content data as wellas a basic function of displaying an image based on the content data.For example, when a transport stream is received from a source device,the image processing apparatus stores the content data of the transportstream in a storage while decrypting and decoding the content data. Inthe future, the image processing apparatus reads and reproduces thestored content data from the storage without receiving the transportstream again from the source device, thereby displaying an image basedon the content data.

However, the encrypted content data in the transport stream may cause aproblem in carrying out the PVR function. Conventionally, the imageprocessing apparatus decrypts the content data, and stores the decryptedcontent data in the storage. In this case, clean content data is presentin the image processing apparatus, and thus there is a risk of leakingcontent through the image processing apparatus. Such a case may violatethe security policy of the content provider.

Accordingly, the image processing apparatus may be required to storecontent data without violating the security policy, while supporting thePVR function for a user's convenience.

SUMMARY

In accordance with an aspect of the disclosure, there is provided animage processing apparatus including: a storage; a receiver configuredto receive a transport stream from a source device; and a processor. Theprocessor is configured to: decrypt encrypted content data obtained fromthe transport stream received by the receiver, generate indexinformation based on the decrypted content data, where the indexinformation is generated to include at least one reference correspondingto the encrypted content data to be referenced to display an image ofthe content data, and store the encrypted content data in the storage inassociation with the index information. Thus, the image processingapparatus does not violate a security policy of a content provider sincecontent is prevented from being leaked to the outside while content datais stored for a user's convenience.

The at least one reference included in the index information mayindicate a location of the encrypted content data corresponding to ascene requested to be displayed by a searching operation related to thecontent data.

The at least one reference included in the index information may includeidentification information of an index frame of the scene, where theindex frame has a preset attribute among a plurality of image frames,and the processor may retrieve location information of the location ofthe scene in the encrypted content data corresponding to the indexframe, and process data corresponding to the retrieved locationinformation to be displayable.

The preset attribute of the index frame may include an Intra-pictureimage frame.

The processor may obtain data corresponding to the retrieved locationinformation by identifying a data code corresponding to theidentification information of the index frame among data codes of theencrypted content data.

The processor may encrypt the decrypted content data again with anencryption algorithm applied to the content data by the source devicewhen the transport stream is generated, and stores the encrypted contentdata in the storage.

The image processing apparatus may further include a communicatorconfigured to communicate with a server that stores a plurality of keysgiven for respectively decrypting data corresponding to a plurality ofsections of the encrypted content data, wherein the processor may obtaina key corresponding to decryption for a section among the plurality ofsections of the encrypted content data from the server, based oninformation about an address in which the plurality of keys are stored.

The processor may cause the information about the address and theencrypted content data stored in the storage be transmitted to anexternal apparatus through the communicator so that the image isdisplayable by the external apparatus.

A method of controlling an image processing apparatus, the methodincluding: receiving a transport stream; obtaining encrypted contentdata from the transport stream, and decrypting the encrypted contentdata; and generating index information based on the decrypted contentdata, the index information being generated to include at least onereference corresponding to the encrypted content data to be referencedto display an image of the content data, and storing the encryptedcontent data in association with the index information.

The at least one reference included in the index information mayindicate a location of the encrypted content data corresponding to ascene requested to be displayed by a searching operation related to thecontent data.

The at least one reference included in the index information may includeidentification information of an index frame of the scene, where theindex frame has a preset attribute among a plurality of image frames,and the method may further includes retrieving location information ofthe location of the scene in the encrypted content data corresponding tothe index frame, and processing data corresponding to the retrievedlocation information to be displayable.

The preset attribute of the index frame may include an Intra-pictureimage frame.

The processing of the data corresponding to the retrieved locationinformation to be displayable may include obtaining data correspondingto the retrieved location information by identifying a data codecorresponding to the identification information of the index frame amongdata codes of the encrypted content data.

The storing of the encrypted content data and the index information mayinclude encrypting the decrypted content data again with an encryptionalgorithm applied to the content data by a source device when thetransport stream is generated, and storing the encrypted content data.

The method may further include communicating with a server that stores aplurality of keys given for respectively decrypting data correspondingto a plurality of sections of the encrypted content data, and obtaininga key corresponding to decryption for a section among the plurality ofsections of the encrypted content data from the server, based oninformation about an address in which the plurality of keys are stored.

The method may further include transmitting the information about thestored encrypted content data and the address information to an externalapparatus through the communicator so that the image is displayable bythe external apparatus.

A nonvolatile computer-readable recording medium storing a program whichwhen executed by a processor of an image processing apparatus executesan operation including: receiving a transport stream; obtainingencrypted content data from the transport stream, and decrypting theencrypted content data; and generating index information based on thedecrypted content data, the index information being generated to includeat least one reference corresponding to the encrypted content data to bereferenced to display an image of the content data, and storing theencrypted content data in association with the index information.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features, and advantages of certainembodiments of the present disclosure will be more apparent from thefollowing description taken in conjunction with the accompanyingdrawings, in which:

FIG. 1 illustrates an example that an image processing apparatusaccording to one exemplary embodiment receives a transport stream from asource device and processes the transport stream to be displayed as animage;

FIG. 2 is a block diagram of an image processing apparatus according toone exemplary embodiment;

FIG. 3 is a flowchart of controlling an image processing apparatusaccording to one exemplary embodiment to store content data of areceived transport stream;

FIG. 4 is a flowchart of controlling an image processing apparatusaccording to one exemplary embodiment to process recorded and storedcontent data in response to a trick play input;

FIG. 5 illustrates an example of a principle that an image processingapparatus according to one exemplary embodiment decrypts encryptedcontent data;

FIG. 6 is a flowchart of controlling an image processing apparatusaccording to one exemplary embodiment to generate index information andperform a trick play operation based on the index information;

FIG. 7 illustrates an example of a schematic principle that an imageprocessing apparatus according to one exemplary embodiment generatesindex information to be referred;

FIG. 8 illustrates an example of a network system according to oneexemplary embodiment; and

FIG. 9 illustrates an example that an image processing apparatusaccording to one exemplary embodiment processes encrypted content datato be stored in a first external apparatus and streamed to a secondexternal apparatus.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Below, exemplary embodiments will be described in detail with referenceto accompanying drawings. Further, the embodiments described withreference to the accompanying drawings are not exclusive to each otherunless otherwise mentioned, and a plurality of embodiments may beselectively combined within one apparatus. The combination of theseembodiments may be discretionally selected and applied to realize thepresent inventive concept by a person having an ordinary skill in theart.

It will be understood that, although the terms first, second, etc. maybe used herein to describe various elements, these elements should notbe limited by these terms but only be used to distinguish one element toone element from another. The terms set forth herein are applied fordescribing the exemplary embodiments without departing from the scope ofthe present disclosure.

Further, “at least one” among a plurality of elements in the presentdisclosure represents not only all the plurality of elements but alsoeach individual element excluding the other elements from the pluralityof elements or all combinations thereof.

FIG. 1 illustrates an example that an image processing apparatusaccording to one exemplary embodiment receives a transport stream from asource device and processes the transport stream to be displayed as animage.

As shown in FIG. 1, an image processing apparatus 110 according to oneexemplary embodiment is capable of receiving a transport stream from apredetermined source device 120, and outputting content data obtained byprocessing the transport stream to a display apparatus 130 so that thedisplay apparatus 130 can display an image based on the content image.The image processing apparatus 110 according to an exemplary embodimentis materialized by a set-top box, but the present inventive concept isnot limited to this exemplary embodiment. For example, the presentinventive concept may be materialized by the display apparatus 130 inthe present system, or a display apparatus 130 that receives a transportstream from the source device 120 without the image processing apparatus110.

The image processing apparatus 110 receives a transport stream from thesource device 120. When the source device 120 is a streaming server, atransport stream is streamed to the image processing apparatus 110 by abroadband method. Alternatively, when the source device 120 is atransmitter of a broadcasting station, a transport stream is transmittedas a terrestrial wave to the image processing apparatus 100 by abroadcast method. Further, the image processing apparatus 110 maycommunicate with various servers 140 on a network.

The image processing apparatus 110 receives a transport stream andextracts content data from the transport stream. The content data refersto data for displaying a content image, and includes video data, audiodata, appended data, etc. Here, the source device 120 may encrypt thecontent data in the transport stream for security, and the imageprocessing apparatus 110 may use a previously designated decryptionalgorithm to decrypt the encrypted content data into clean content data.The clean content data refers to the decrypted content data.

The decryption algorithm may for example include a procedure of makingthe image processing apparatus 110 receive a decryption key from theserver 140 that has the decryption key, and then use the receiveddecryption key to decrypt the content data. The image processingapparatus 110 processes the decrypted content data through thedecryption algorithm to thereby display a content image. Meanwhile, sucha decryption algorithm is required even when a trick play operation isperformed. Detailed descriptions about the trick play operation will bemade later.

The image processing apparatus 110 outputs the clean content data to thedisplay apparatus 130, so that the display apparatus 130 can display acontent image based on the clean content data. The image processingapparatus 110 performs decoding, scaling, and the like image processingprocess before outputting the clean content data. Alternatively, thedisplay apparatus 130 may perform the image processing process withregard to the clean content data output from the image processingapparatus 110.

Meanwhile, the image processing apparatus 110 may store the contentdata. The image processing apparatus 110 may store the content data inresponse to a user's input or in response to various events such asscheduled recording. When the content data is storable in the imageprocessing apparatus 110, the image processing apparatus 110 can displaythe content image without receiving the content data again from thesource device 120.

The image processing apparatus 110 encrypts and stores the decryptedcontent data. In this case, the image processing apparatus 110 employsthe same algorithm as that used when the source device 120 firstencrypts the content data. That is, both the content data encrypted bythe source device 120 and contained in the transport stream and thecontent data encrypted again by and stored in the image processingapparatus 110 are subjected to one encryption algorithm.

When the image processing apparatus 110 stores the clean content datawithout encrypting the decrypted content data again, there is a highrisk of content leakage from the image processing apparatus 110.Meanwhile, when the image processing apparatus 110 employs an algorithmdifferent from the encryption algorithm of the source device 120, itviolates the security policy of the content provider, and needs aseparate decryption process when the stored content data is decrypted inthe future.

According to the present exemplary embodiment, the image processingapparatus 110 stores the content data encrypted again by the encryptionalgorithm of the source device 120, and is thus convenient for a userwithout violating the security policy of the content provider.

Below, the hardware configuration of the image processing apparatus 110will be described.

FIG. 2 is a block diagram of an image processing apparatus according toone exemplary embodiment.

As shown in FIG. 2, an image processing apparatus 200 includes areceiver 210 for receiving a predetermined signal from a source device201, a transmitter 220 for transmitting a predetermined signal to adisplay apparatus 202, a user input 230 for executing a user's inputoperation, a storage 240 for storing data, and at least one processor250 for executing calculation for operations of the image processingapparatus 200. In this exemplary embodiment, the image processingapparatus 200 does not include a display for displaying an image.However, the present inventive concept may be applied to the imageprocessing apparatus 200 designed to include the display.

The receiver 210 receives a transport stream from the source device 201.When the image processing apparatus 200 is materialized by a set-top boxor a TV, the receiver 210 may include a tuner for selectively receivinga broadcast signal. The image processing apparatus 200 may furtherinclude a communicator capable of interactively communicating with anexternal apparatus. When interactive communication is needed inreceiving the transport stream, the communicator may receive thetransport stream from the source device 201. Meanwhile, the communicatormay transmit and receive data or information needed for operation whilecommunicating with the server. The communicator refers to acommunication circuit materialized by combination of a communicationport, a communication module, and a communication chip in accordancewith various communication standards, and there are no limits to asupportable communication protocol. For example, the communicator mayinclude a radio frequency integrated circuit (RFIC) for receiving an RFsignal, a wireless communication module for wireless networkcommunication, an Ethernet module for wired network communication, aconnection port for connection with an external memory, etc.

The transmitter 220 transmits content data to the display apparatus 202in accordance with various transmission standards. The transmitter 220may for example transmit the content data to the display apparatus 202through a high definition multimedia interface (HDMI) cable.

The user input 230 generates a preset command or information in responseto a user's control or input and transmits the preset command orinformation to the processor 250. The user input 230 may be achieved invarious types according to a user's input environments, for example, andmay for example include a button provided at an outer side of thedisplay apparatus 202, a touch pad, a touch screen, a remote controllerseparated from the main body of the display apparatus 202, etc.Alternatively, the user input 230 may be achieved by an application thatprovides a user input interface to be executed in a mobile apparatus,and in this case a user input signal from a mobile apparatus may bereceived in the image processing apparatus 200.

The storage 240 is configured to store data in accordance with processesand control of the processor 250. The data to be stored in the storage240 is subjected to reading, recording, modifying, updating, etc. by theprocessor 250. The storage 240 may be broadly classified into two types,i.e. volatile and nonvolatile memories. The image processing apparatus200 may include both two types of the storage 240. As a nonvolatilememory in which data is retained even when power is off, the storage 240includes a flash memory, a hard-disc drive (HDD), a solid-state drive(SSD), etc. Likewise, as a volatile memory in which data is deleted whenpower is off, the storage 240 includes a random-access memory (RAM), aread-only memory (ROM), a buffer, etc.

The processor 250 includes a hardware calculation circuit materializedby a central processing unit (CPU), a microprocessor, a chipset, or thelike mounted on a printed circuit board, and may alternately be designedas a system on chip (SOC). The processor 250 includes modulescorresponding to various processes such as a demultiplexer, a decoder, ascaler, an audio digital signal processor (DSP), an amplifier, etc., andsome of them may be materialized by the SOC. For example, thedemultiplexer, the decoder, the scaler and the like modules related toimage processing may be materialized by an image processing SOC, and theaudio DSP may be materialized by a chipset separated from the SOC.

When a transport stream is received in the receiver 210, the processor250 acquires encrypted content data from the transport stream, decryptsthe content data by the decryption algorithm, and transmits thedecrypted content data to the display apparatus 202 via the transmitter220. Thus, the display apparatus 202 displays a content image based onthe decrypted content data.

Further, the processor 250 according to one exemplary embodimentencrypts the decrypted content data again by the encryption algorithmthat the source device 201 has, and stores the re-encrypted content datain the storage 240. Thereafter, when a preset event such as anindication made by a user input occurs through the user input 230, theprocessor 250 reads and decrypts the encrypted content data stored inthe storage 240, and transmits the decrypted content data to the displayapparatus 202 through the transmitter 220.

By the way, a user may want to make a trick play with regard to suchstored content. The trick play refers to various searching operations ofa user with regard to a scene of content, and includes a play, a stop, aforward play, a backward play, an image frame skip by a predeterminedunit time, etc. from the scene at a predetermined point in time of thecontent. Typically, such a trick play is performed with respect to thedecrypted content data. On the other hand, the image processingapparatus according to one exemplary embodiment operates as follows.

FIG. 3 is a flowchart of controlling an image processing apparatusaccording to one exemplary embodiment to store content data of areceived transport stream.

As shown in FIG. 3, the image processing apparatus carries out thefollowing operations by the processor.

At operation 310 an image processing apparatus receives a transportstream from a source device.

At operation 320 the image processing apparatus acquires content datafrom the transport stream.

At operation 330 the image processing apparatus determines whether theacquired content data has been encrypted.

When it is determined that the encrypted content data is acquired, atoperation 340 the image processing apparatus decrypts the encryptedcontent data.

At operation 350 the image processing apparatus generates indexinformation of the encrypted content data to be referred for displayinga content image, based on decrypted clean content data. The indexinformation indicates a location of data, which corresponds to a scenein response to a searching operation to the content data, within theencrypted content data.

At operation 360 the image processing apparatus stores the encryptedcontent data and the index information. Here, the stored content data isencrypted, but the index information is not encrypted.

In addition, the image processing apparatus may process the cleancontent data to be displayed as an image after storing the indexinformation. For example, in a case of scheduled recording, the imageprocessing apparatus stores the encrypted content data, but does notperform a process for displaying the content image.

Like this, the image processing apparatus generates and stores the indexinformation from the decrypted content data, in which the indexinformation is generated corresponding to not the clean content data butthe encrypted content data. In this regard, detailed descriptions willbe made later.

Below, it will be described that the image processing apparatus, inwhich the encrypted content data and the index information have beenstored, operates in response to a user's input about the trick play.

FIG. 4 is a flowchart of controlling an image processing apparatusaccording to one exemplary embodiment to process recorded and storedcontent data in response to a trick play input.

As shown in FIG. 4, the image processing apparatus performs thefollowing operations by the processor.

At operation 410 the image processing apparatus receives a user's inputabout a trick play operation with regard to previously-storedencrypted-content data.

At operation 420 the image processing apparatus calls the indexinformation about the encrypted content data.

At operation 430 the image processing apparatus determines the locationof the content data indicated by a user's input based on the indexinformation within the encrypted content data.

At operation 440 the image processing apparatus decrypts the contentdata corresponding to the determined location.

At operation 450 the image processing apparatus processes the decryptedcontent data to be displayed as an image.

Like this, the image processing apparatus determines and processes onlya part of content data corresponding to a scene indicated by a trickplay without fully decrypting the previously-stored encrypted-contentdata in response to the trick play, thereby quickly carrying out a trickplay operation.

Basically, a decryption key may be used in the method of decrypting theencrypted content data. Besides, there may be many ways. Below, oneexemplary embodiment of decrypting the encrypted content data will bedescribed.

FIG. 5 illustrates an example of a principle that an image processingapparatus according to one exemplary embodiment decrypts encryptedcontent data.

As shown in FIG. 5, a processor 510 of an image processing apparatusacquires a key address DB 520 to decrypt encrypted content data 540. Thekey address DB 520 refers to data, which is also called a manifest file,and acquired from a content provider. The key address DB 520 includesaddress information about a key server 530 from which a key fordecryption is acquirable. That is, the key address DB 520 does not storethe decryption key itself, but records a uniform resource locator (URL)of the key server 530 to acquire the decryption key.

There are many ways of using the key to decrypt the encrypted contentdata 540. For example, a single key may be given corresponding to onepiece of content. In this case the processor 510 acquires the single keyand decrypts the whole encrypted content data 540 with the acquiredsingle key.

Alternatively, a plurality of keys may be given corresponding to aplurality of sections divided by the time t of the encrypted contentdata 540. That is, a key given corresponding to a predetermined firstsection of the encrypted content data 540 is needed to decrypt the firstsection, and it is impossible to decrypt the first section by a keygiven corresponding to a second section. In this case, the key server530 stores the plurality of keys respectively corresponding to thesections.

The processor 510 acquires address information of the key, whichcorresponds to the first section of the encrypted content data 540, fromthe key address DB 520. The processor 510 accesses the key server 530with the acquired address information, and receives a first keycorresponding to the first section from the address information. Theprocessor 510 decrypts the first section of the encrypted content data540 by the first key. Likewise, the processor 510 receives a second keycorresponding to the second section of the encrypted content data 540,and decrypts the second section with the second key. In this manner, theprocessor 510 decrypts the encrypted content data 540 into clean contentdata 550.

When the trick play is performed, the processor 510 determines thelocation of the content data matching with the scene according to thetrick play within the encrypted content data 540. Such determination maybe performed based on the index information as described above. Theprocessor 510 obtains the address information corresponding to thedetermined location of the content data from the key address DB 520, andreceives the key corresponding to the obtained address information fromthe key server 530, thereby decrypting the content data at thecorresponding location.

Meanwhile, the index information provides pieces of information thatmakes an image frame of a scene indicated by a trick play be specifiedand extracted from the encrypted content data 540, without fullydecrypting the encrypted content data 540. In accordance with workshopmodifications, various changes can be made in what information the indexinformation involves and how the index information is configured,without limitations. Below, one example of the index information will bedescribed.

FIG. 6 is a flowchart of controlling an image processing apparatusaccording to one exemplary embodiment to generate index information andperform a trick play operation based on the index information.

As shown in FIG. 6, the image processing apparatus performs thefollowing operations by the processor.

At operation 610 the image processing apparatus decrypts the receivedencrypted content data. In this case, the image processing apparatus mayprocess the decrypted content data to be displayed as an image, or maynot perform the process for displaying the image in a case of scheduledrecording.

At operation 620 the image processing apparatus determines a key frameor an index frame as a criterion for a searching operation in thedecrypted content data. Detailed descriptions about the index frame willbe made later.

At operation 630 the image processing apparatus encrypts and stores thedecrypted content data. In this case, an algorithm for the encryption isthe same as the encryption algorithm for the content data received bythe image processing apparatus in the operation 610.

At operation 640 the image processing apparatus determines the locationcorresponding to the determined index frame from the encrypted contentdata.

At operation 650 the image processing apparatus generates and stores theindex information that involves the information about the determinedlocation.

Then, at operation 660 the image processing apparatus receives a user'sinput about the trick play.

At operation 670 the image processing apparatus retrieves informationabout an index frame of a scene indicated by a user's input from theindex information. For example, with regard to the scene of the contentmoved in response to a user's input, the image processing apparatusacquires identifier (ID) of the index frame of the corresponding scene,and information about a data location corresponding to the ID within theencrypted content data, from the index information.

At operation 680 the image processing apparatus acquires data inaccordance with information retrieved from the encrypted content data.

At operation 690 the image processing apparatus processes the acquireddata to display an image.

Below, the index information will be described in more detail.

FIG. 7 illustrates an example of a schematic principle that an imageprocessing apparatus according to one exemplary embodiment generatesindex information to be referred.

As shown in FIG. 7, decrypted content data 710 includes a plurality ofimage frames arranged in time sequence when the decrypted content data710 is an image signal. When the image signal complies with movingpicture experts group (MPEG) standards, encoding compression for theimage signal is performed based on a bi-directional prediction of thepast and the future, i.e. both forward and backward directions. Theimage signal is subjected to a compression algorithm based on discretecosine transform (DCT), image segmentation for segmenting an image intosome pixels, motion estimation and compensation, etc. In particular,each image frame of the image signal has one among three attributes ofan intra-picture (I-picture), a uni-directionally predicted picture(P-picture), and a bi-directionally predictive picture (B-picture) basedon a time prediction and interpolation.

The I-picture or I-frame refers to a reference frame for decodingbetween the image frames. The I-frame is a screen to be encoded from acorresponding image frame solely, i.e. a reference frame to which aprediction between frames is not applied. The I-frame may be given atany location of the image signal, and used for an arbitrary access tothe data.

The P-picture or P-frame refers to a prediction screen between forwardframes. The P-frame is generated from a prediction between a previousI-frame and another previous P-frame. The P-frame is based on aprinciple that successive images are caused by not change of the wholeimage but lateral movement of image blocks. In other words, when thereis a motion, an object on a screen generally has lateral movement ratherthan great change in the shape of the object. Thus, only a very smalldifference between a previous screen and a current screen is encoded.

The B-picture or B-frame refers to a prediction screen betweenbidirectional frames. To compress the B-frame, previous and laterI-frames and P-frames are all used. When the B-frame is used,compressibility is high.

The encoded image signal is decoded by performing the prediction betweenthe forward frames and the prediction between the bidirectional frameswith respect to the I-frame.

Here, when a searching operation for a content image is performed like atrick play, the I-frame is generally used among the I-frame, theP-frame, and the B-frame. This is because an arbitrary access to thedata is possible as the I-frame is encodable solely without a predictionbetween other frames. Such concept of the I-frame is similarly appliedto other standards, for example, H.264 standards, as well as the MPEGstandards.

Therefore, only the location of the I-frame within the image signal isneeded for the trick play, and the I-frame is used as the key frame orthe index frame for the criterion of the trick play.

Meanwhile, the attributes of the image frame are easily determined whenthe image signal is not encrypted, i.e. the clean image signal is given.However, when the image signal is encrypted, it is impossible todetermine what image frame is the I-frame corresponding to apredetermined scene or a predetermined point in time. In this regard,the image processing apparatus according to an exemplary embodimentgenerates index information 730 as follows.

When is received from the source device, the image processing apparatusdecrypts the encrypted content data into the clean content data 710. Forexample, the decrypted content data 710 includes twelve image frames,and the image frames of No. 1 and No. 9 have the attributes of theI-frame. Information about such attributes are contained in a header ofeach image frame of the clean content data 710, and therefore the imageprocessing apparatus checks the content in each header to therebydetermine what image frame has the attributes of the I-frame.

To store the decrypted content data 710, the image processing apparatusconverts the decrypted content data 710 into encrypted content data 720by the encryption algorithm of the source device. In this case, theimage processing apparatus generates the index information 730 showing adata location X of the image frame No. 1 and a data location Y of theimage frame No. 9 which have the attributes of the I-frame.

That is, the index information 730 includes the ID or index number ofthe image frame having the attributes of the I-frame within theencrypted content data 720, and information for identifying the datalocation of each image frame ID. The identification information of thedata location may for example indicate a code of a specific sectionamong a series of data codes. Further, the index information 730includes information about a play point in time corresponding to eachimage frame, within a total play time of content.

Unlike the clean content data 710, the image processing apparatus cannotcheck content in the header of the encrypted content data 720. However,according to an exemplary embodiment, the image processing apparatus candetermine the data of the image frame, which has the attributes of theI-frame, within the encrypted content data 720 by referring to the indexinformation 730.

When a user's input corresponding to a trick play is received under acondition that the encrypted content data 720 and the index information730 are stored, the image processing apparatus retrieves the ID of theimage frame corresponding to the scene of the content indicated by auser's input, and the data location of the corresponding ID from theindex information 730. The image processing apparatus extracts data fromthe encrypted content data 720 on the basis of the retrievedinformation, and performs decryption and decoding processes to therebydisplay an image based on the data.

Like this, the image processing apparatus generates the indexinformation 730 corresponding to the encrypted content data 720, andperforms the trick play operation based on the index information 730.

Meanwhile, the foregoing embodiments show that all operations areperformed in the image processing apparatus. However, the imageprocessing apparatus may be used not only independently, but also underan environment of Internet of things (IOT). Below, it will be describedthat the present inventive concept is applied to a network system suchas a home network.

FIG. 8 illustrates an example of a network system according to oneexemplary embodiment.

As shown in FIG. 8, a system 800 according to this exemplary embodimentestablishes a network that includes one or more host apparatuses 810,and one or more electronic apparatuses 820, 830 and 840. The system 800in this exemplary embodiment includes one host apparatus 810 and aplurality of electronic apparatuses 820, 830 and 840, but the number orkinds of host apparatus 810 or the electronic apparatuses 820, 830 and840 are not limited to the specific embodiment. The network system 800may be achieved by a closed network that adopts a preset security policyto selectively block accesses from other apparatuses outside the system800, and may connect with a wide area network to communicate with aserver 880. As an example of the system 800, there is a home or localnetwork for home or office.

When the system 800 is achieved by the closed network, only theelectronic apparatuses 820, 830 and 840 authenticated by the system 800are allowed to have an access to the host apparatus 810 used for acommunication relay in the system 800. For example, when the electronicapparatuses 820, 830 and 840 try having an access to the wide areanetwork via the host apparatus 810, the electronic apparatuses 820, 830and 840 have to pass security authentication designated in the hostapparatus 810. When the host apparatus 810 is materialized by an accesspoint (AP), the host apparatus 810 stores service set identifier (SSID)and a password. The electronic apparatuses 820, 830 and 840 search forthe host apparatus 810 on the basis of the SSID, and transmit a passwordto the searched host apparatus 810 so as to be authenticated foraccessing the host apparatus 810.

The host apparatus 810 may be materialized by various kinds ofcommunication apparatuses such as a gateway, a router, an IoT hub, andthe like for the communication relay as well as the AP. Further,authentication information for accessing the host apparatus 810 includevarious pieces of network information and ID information, such as thedevice ID of the host apparatus 810, the communication ID of the hostapparatus 810, an authentication password for accessing the hostapparatus 810, etc.

The electronic apparatuses 820, 830 and 840 may include not only aset-top box 820, a mobile apparatus 830 and a TV 840 which areillustrated in FIG. 8, but also various kinds of apparatuses such ashome appliances, a wearable device, a computer, etc.

Under such a system environment, an image processing apparatus 820 maytransmit or stream encrypted content data to an external apparatus 830.The image processing apparatus 820 stores the encrypted content data,index information, and a key address DB for a decryption process. Theimage processing apparatus 820 in this embodiment is substantially thesame as the image processing apparatus described in the foregoingexemplary embodiments, and therefore detailed descriptions thereof willbe avoided.

The image processing apparatus 820 transmits the previously storedencrypted content data, index information, key address DB to the hostapparatus 810 (S1). These pieces of data are transmitted to the externalapparatus 830 by the relay of the host apparatus 810 (S2). That is, theimage processing apparatus 820 serves as a streaming server forstreaming the encrypted content data in the system 800. In this case,the encrypted content data streamed from the image processing apparatus820 complies with the same encryption algorithm as the encryptionalgorithm for the encrypted content data that the image processingapparatus 820 first receives from the source device, and therefore doesnot violate the security policy of the content provider.

The external apparatus 830 displays an image by processing the encryptedcontent data streamed from the image processing apparatus 820. In thiscase, the trick play to be implemented in the external apparatus 830 maybe performed by referring to the index information transmitted from theimage processing apparatus 820, and its detailed operations are based onthe same principle as that of the trick play operations of the foregoingexemplary embodiments.

The external apparatus 830 decrypts the encrypted content data based onthe key address DB. For example, when the server 880 is materialized bya key server, the external apparatus 830 accesses the server 880 inaccordance with address information recorded in the key address DB. Theserver 880 accepts the access when the external apparatus 830 is allowedin terms of security, and the decryption key corresponding to therequest of the server 880 is transmitted to the host apparatus 810 (S3).This key is transmitted from the host apparatus 810 to the externalapparatus 830 (S4). The external apparatus 830 decrypts the encryptedcontent data with the key received from the server 880.

When the server 880 receives a key request from the external apparatus830, it is determined whether the external apparatus 830 is allowed ornot in terms of security. There are many determination methods. Forexample, the server 880 receives the ID of the external apparatus 830from the external apparatus 830, and accepts the access of the externalapparatus 830 when the received ID matches the registered ID or blocksthe access of the external apparatus 830 when the received ID does notmatch the registered ID. The ID of the external apparatus 830 mayinclude ID of the processor of the external apparatus 830, a mediaaccess control (MAC) address of the communicator of the externalapparatus 830, account information of a user of the external apparatus830, or various pieces of unique information for distinguishing otherexternal apparatuses 830.

Meanwhile, the foregoing exemplary embodiment shows a case that theimage processing apparatus records the content data received from thesource device, and autonomously stores the recorded content datatherein. However, under an IoT environment, the image processingapparatus may store content data recorded by another apparatus, and suchan exemplary embodiment will be described below.

FIG. 9 illustrates an example that an image processing apparatusaccording to one exemplary embodiment processes encrypted content datato be stored in a first external apparatus and streamed to a secondexternal apparatus.

As shown in FIG. 9, the image processing apparatus 901 receivesencrypted content data from the source device 902 (910). The imageprocessing apparatus 901 decrypts the encrypted content data, andanalyzes the decrypted content data, thereby generating indexinformation corresponding to the encrypted content data (920). The imageprocessing apparatus 901 encrypts the decrypted content data again, andtransmits the encrypted content data and the index information to afirst external apparatus 903 (930).

The first external apparatus 903 stores the encrypted content data andthe index information which are received from the image processingapparatus 901 (940).

The image processing apparatus 901 receives a control signal making acontent-streaming request from a second external apparatus 904 (950). Inresponse to the request, the image processing apparatus 901 transmits acontrol signal for a streaming instruction to the first externalapparatus 903 in which the encrypted content data is stored (960).

In response to the instruction from the image processing apparatus 901,the first external apparatus 903 streams the encrypted content data tothe second external apparatus 904 (970). The second external apparatus904 decrypts the received encrypted content data and displays a contentimage (980).

For a trick play operation, the second external apparatus 904 mayadditionally receive the index information from the first externalapparatus 903. Alternatively, the second external apparatus 904 may makethe streaming request (950) to not the image processing apparatus butthe first external apparatus 903, and the first external apparatus 903may perform streaming in response to the streaming request.

Further, the image processing apparatus 901 may determine whether thesecond external apparatus 904 is allowable in terms of security inresponse to the streaming request (950), and do not make the streaminginstruction (960) when it is determined that the second externalapparatus 904 is not allowed.

The methods according to the foregoing exemplary embodiments may beachieved in the form of a program command that can be implemented invarious computers, and recorded in a computer readable medium. Such acomputer readable medium may include a program command, a data file, adata structure or the like, or combination thereof. For example, thecomputer readable medium may be stored in a volatile or nonvolatilestorage such as a ROM or the like, regardless of whether it is deletableor rewritable, for example, a RAM, a memory chip, a device or integratedcircuit (IC) like memory, or an optically or magnetically recordable ormachine (e.g., a computer)-readable storage medium, for example, acompact disk (CD), a digital versatile disk (DVD), a magnetic disk, amagnetic tape or the like. It will be appreciated that a memory, whichcan be included in a mobile terminal, is an example of themachine-readable storage medium suitable for storing a program havinginstructions for realizing the exemplary embodiments. The programcommand recorded in this storage medium may be specially designed andconfigured according to the exemplary embodiments, or may be publiclyknown and available to those skilled in the art of computer software.

Although a few exemplary embodiments have been shown and described, itwill be appreciated by those skilled in the art that changes may be madein these exemplary embodiments without departing from the principles andspirit of the invention, the scope of which is defined in the appendedclaims and their equivalents.

What is claimed is:
 1. An image processing apparatus comprising: astorage; a receiver configured to receive a transport stream from asource device; and a processor configured to: decrypt encrypted contentdata obtained from the transport stream received by the receiver,generate index information based on the decrypted content data, theindex information being generated to include at least one referencecorresponding to the encrypted content data to be referenced to displayan image of the content data, and store the encrypted content data inassociation with the index information in the storage.
 2. The imageprocessing apparatus according to claim 1, wherein the at least onereference included in the index information indicates a location of theencrypted content data corresponding to a scene requested to bedisplayed by a searching operation related to the content data.
 3. Theimage processing apparatus according to claim 2, wherein the at leastone reference included in the index information includes identificationinformation of an index frame of the scene, the index frame having apreset attribute among a plurality of image frames, and the processorretrieves location information of the location of the scene in theencrypted content data corresponding to the index frame, and processesdata corresponding to the retrieved location information to bedisplayable.
 4. The image processing apparatus according to claim 3,wherein the preset attribute of the index frame includes anIntra-picture image frame.
 5. The image processing apparatus accordingto claim 3, wherein the processor obtains data corresponding to theretrieved location information by identifying a data code correspondingto the identification information of the index frame among data codes ofthe encrypted content data.
 6. The image processing apparatus accordingto claim 1, wherein the processor encrypts the decrypted content dataagain with an encryption algorithm applied to the content data by thesource device when the transport stream is generated, and stores theencrypted content data in the storage.
 7. The image processing apparatusaccording to claim 1, further comprising: a communicator configured tocommunicate with a server that stores a plurality of keys given forrespectively decrypting data corresponding to a plurality of sections ofthe encrypted content data, wherein the processor obtains a keycorresponding to decryption for a section among the plurality ofsections of the encrypted content data from the server, based oninformation about an address in which the plurality of keys are stored.8. The image processing apparatus according to claim 7, wherein theprocessor causes the information about the address and the encryptedcontent data stored in the storage be transmitted to an externalapparatus through the communicator so that the image is displayable bythe external apparatus.
 9. A method of controlling an image processingapparatus, the method comprising: receiving a transport stream;obtaining encrypted content data from the transport stream, anddecrypting the encrypted content data; generating index informationbased on the decrypted content data, the index information beinggenerated to include at least one reference corresponding to theencrypted content data to be referenced to display an image of thecontent data; and storing the encrypted content data in association withthe index information.
 10. The method according to claim 9, wherein theat least one reference included in the index information indicates alocation of the encrypted content data corresponding to a scenerequested to be displayed by a searching operation related to thecontent data.
 11. The method according to claim 10, wherein the at leastone reference included in the index information includes identificationinformation of an index frame of the scene, the index frame having apreset attribute among a plurality of image frames, and the methodfurther includes: retrieving location information of the location of thescene in the encrypted content data corresponding to the index frame,and processing data corresponding to the retrieved location informationto be displayable.
 12. The method according to claim 11, wherein thepreset attribute of the index frame includes an Intra-picture imageframe.
 13. The method according to claim 11, wherein the processing ofthe data corresponding to the retrieved location information to bedisplayable includes obtaining data corresponding to the retrievedlocation information by identifying a data code corresponding to theidentification information of the index frame among data codes of theencrypted content data.
 14. The method according to claim 9, wherein thestoring of the encrypted content data and the index informationcomprises encrypting the decrypted content data again with an encryptionalgorithm applied to the content data by a source device when thetransport stream is generated, and storing the encrypted content data.15. The method according to claim 9, further comprising: communicatingwith a server that stores a plurality of keys given for respectivelydecrypting data corresponding to a plurality of sections of theencrypted content data, and obtaining a key corresponding to decryptionfor a section among the plurality of sections of the encrypted contentdata from the server, based on information about an address in which theplurality of keys are stored.
 16. The method according to claim 15,further comprising: transmitting the information about the storedencrypted content data and the address information to an externalapparatus through the communicator so that the image is displayable bythe external apparatus.
 17. A nonvolatile computer-readable recordingmedium storing a program which when executed by a processor of an imageprocessing apparatus executes an operation, the operation comprising:receiving a transport stream; obtaining encrypted content data from thetransport stream, and decrypting the encrypted content data; andgenerating index information based on the decrypted content data, theindex information being generated to include at least one referencecorresponding to the encrypted content data to be referenced to displayan image of the content data; and storing the encrypted content data inassociation with the index information.
 18. The nonvolatilecomputer-readable recording medium according to claim 17, whereindisplayability of the image of the content data is controlled accordingto the encrypted content data stored in association with the indexinformation.
 19. The nonvolatile computer-readable recording mediumaccording to claim 18, wherein the displayability of the image of thecontent data that is controlled according to the encrypted content datastored in association with the index information meets a security policyassigned to the content data by a source device.
 20. The nonvolatilecomputer-readable recording medium according to claim 17, wherein eachsubsequent redisplaying of the image of the content data is controlledaccording to the encrypted content data stored in association with theindex information.